1. Field of the Invention
The present invention relates to a data management apparatus of switching system for managing data used by an application program for executing service about communication.
2. Description of the Related Art
Service about communication (for example, exchange service) is realized when an application program mounted on an switching unit for composing an switching system is executed by a CPU or a processor. The data used in the application program is saved in a data field created in a main memory or the like of the switching unit, and the data stored in the data field is managed by a data management module.
Recently, as the communication market is being opened, the competition among communication operators is intensified, and the operators have been trying to expand the share by discriminating or diversifying the service to be presented to the subscribers. Along with the discrimination or diversification of the service, the function and performance of the application program for presenting the service are sophisticated, and the variety and size of the data used in the application program are expanding. Accordingly, the data management module mounted on the switching unit is required to have the following features.
(1) The data management module should execute allocation and/or release of data in the data field during operation of the switching unit.
(2) The data management module should relocate the data stored in the data field, and avoid scattering of unused areas caused in the data field by repetition of allocation and/or release of data.
In order to realize the requirements of (1) and (2), the data management module is required not to exert effects on the performance and quality of the application program (for example, data reading of application program).
Hitherto, by adopting the following method, it has been attempted to enhance the performance of the data access by the application program, and assure the quality of the data being read out.
As shown in FIG. 18, the switching unit comprises a main memory and a hard disk in order to enhance the performance of exchange service processing, and the data necessary for exchange service (for example, exchange office's unique data) is saved in the data field provided in the main memory, while the hard disk stores the backup data of the data held the data field in the main memory.
The data management module updates the content of the data held in the data field whenever according to the request from the application program. As a result, the application program can read out the latest data from the main memory.
The data management module synchronizes the held content in the main memory and the held content in the hard disk. Hence, the quality of the data being read out from the data field is assured. On the other hand, in the case the switching unit is down, when by restarting of the switching unit, the content of the data being read out from the hard disk to the main memory is guaranteed.
As shown in FIG. 19. since the data field of the main memory stores data in a large quantity and in a wide variety, it has a multi-stage tree structure. Further, in consideration of enhancement of performance of reading out data from this data field, a data link using a direct address is built up.
When the data is read out from the data field shown in FIG. 19, as shown in FIG. 20, the data field is searched with an index value specified from the application program, and the searched data is given to the application program.
Further, when there is a specific data accessed repeatedly by the application program in the data field, as shown in FIG. 21, the data management module gives the direct address (pointer) of the specific data to the application program according the request from the application program. The application program informs the data management module of the pointer when reading out the specific data. The data management module directly accesses the specific data by using this pointer. As a result, the redundant processing of searching data every time by using the index value is omitted, and the data reading performance is improved. FIG. 22 is a composition diagram of the conventional data management module.
On the other hand, in order to assure the quality of the data held in the data field, that is, to avoid racing between data reading from the data field by the application program and maintenance and operating service of the data management module for adding, updating and deleting data in the data field, the following prior arts have been known.
(1) Racing control method by information (data identifier, address, etc.) for identifying the data (racing control).
(2) Method of preparing a first data field to be accessed by the application program and a second data field to be accessed by the data management module and storing the same data that is stored in the first data field (data field separation).
(3) Method of preparing a first data field to be accessed by the application program and a second data field to be accessed by data management module and storing the same data that is stored in the first data field. If the second data field is updated, thereafter, when the application program does not access to the first data field, the first data field is similarly updated (data updating time adjustment).
The switching system is required to present the maintenance and operating service to the data field by the data management module, without exerting effects on the performance and quality of the application program. The data management module, when managing the data field, allocates or releases the data dynamically in the case of adding or deleting data in or from the data field. Such data management module relocates the data in order to utilize the data field effectively.
In the conventional methods, however, the following problems have been known. First, in the prior art shown in FIG. 21, the data management module merely gives the pointer value to the application program according to the request from the application program, and does not have the function of managing the pointer value. Accordingly, if the data management module relocates the data in the data field and the content of the data in the address corresponding to the pointer given to the application program is changed, the application program cannot read out the desired data by using the pointer. As a result, the application program may malfunction. Therefore, the data management module has been required to have the function of managing the pointer to be given to the application program.
In the direct address link system shown in FIG. 19, when a data is stored in plural areas in the data field so as to range between the plural areas, and part of the stored data is relocated, the link is cut off between part of data being relocated and part of data not relocated. Accordingly, the part of data not relocated is detected, and a new link must be formed with the part of relocated data. However, since the data field in the main memory is large in capacity and it takes a lot of time to search and change the data, adverse effects may occur in the data reading quality of the application program. It has been hence required to match the link following data relocation in a short time.
In the management system of the data field shown in FIG. 18, the data field on the hard disk must be synchronized according to the relocation of data of the data field on the main memory. The conventional disk feedback function for feeding back the changed data on the main memory to the hard disk shown in FIG. 18 has a function of absorbing the difference in the processing speed of data access on the main memory and disk access.
However, in the management system in FIG. 18, in addition to the disk feedback data relating to the data change by request from the application program, the disk feedback data relating to the relocation occurs in a large quantity. As a result, the contents are not matched between the main memory and the hard disk, and such system unstable state may continue for a long period. It has been hence required to minimize the disk feedback amount, that is, the relocated data quantity.
Further, when the above-mentioned racing control is executed, the performance may be lowered due to operation restriction of the maintenance and operating service. When the above-mentioned data field separation is executed, it requires measures for expansion of the first and second data fields and data matching between the first data field and the second data field. Also when the above-mentioned data updating time adjustment is executed, it requires measures for expansion of the first and second data fields, and assurance of quality of data being read out at an intermediate interval of data updating timing. These methods are, therefore, inappropriate as the configuration for operating by synchronizing between the main memory and the hard disk without causing adverse effects mutually between the application program and the data management module.